package main

import "fmt"

type Student struct{
	x,y int
}
func main() {
	//通用格式
	str := "steven"
	fmt.Printf("%T,%v \n",str,str)

	var a rune = '一'
	fmt.Printf("%T,%v \n",a,a)

	p:=Student{1,2}
	fmt.Printf("%T,%v \n",p,p)

	//布尔型
	fmt.Printf("%T,%t \n",true,true)

	//整型
	fmt.Printf("%T,%d \n",123,123)
	fmt.Printf("%T,%5d \n",123,123) //补足空格
	fmt.Printf("%T,%05d \n",123,123) //补足0
	fmt.Printf("%T,%b \n",123,123) //二进制输出

	s := fmt.Sprintf("%b",123) //返回二进制字符串，实际工作中使用较多
	fmt.Println(s)

	//浮点型
	fmt.Printf("%f \n",123.1) //默认保留6位
	fmt.Printf("%.2f \n",123.11456)
	fmt.Printf("%e \n",123.125456)
	fmt.Printf("%.10e \n",123.125456)

	//字符串
	fmt.Printf("%s \n","欢迎学习区块链！")
	fmt.Printf("%q \n","欢迎学习区块链！")

	arr:= [3]byte{97,98,99} //数组
	fmt.Printf("%T,%s \n" ,arr, arr)

	arr2:= []rune{'a','b','c','一'} //数组
	fmt.Printf("%T,%s \n" ,arr2, arr2)
}
